#ifndef _I2CKEYBOARD_H_
#define _I2CKEYBOARD_H_


#include "i2c_io_expansion.h"

/*
 * @brief 将i2c键盘读取过来的数据进行软件消抖处理;(可在该函数进行调节消抖时间)
 * @param SlaveAddr 为i2c从机的地址,代码已做自动移位处理;
 * @return 消抖后的数据或者空闲状态的数据
 * @author Atul
 * @date 2023-11-7 06:30:00
 * @version 1.0
 * @exception vscode 可能会提示portTICK_PERIOD_MS 为未定义标识符,可以别管能编译通过
 */
uint16_t keyboard_shake_off(char SlaveAddr);

/*
 * @brief while循环一直扫描读取i2c键盘,直到读到有数据反馈
 * @param SlaveAddr 为i2c从机的地址,代码已做自动移位处理;
 * @return 读到的键盘触发的按键数据
 * @exception 该函数不适合组合键的人机交互操作
 */
uint16_t get_key_value(char SlaveAddr);


#endif
